package com.dnake.utils;

import android.content.Context;
import android.util.Log;

import com.dnake.Constant;
import com.dnake.entity.EventBusVoipBean;
import com.orhanobut.logger.Logger;
import com.yuntongxun.ecsdk.ECDevice;
import com.yuntongxun.ecsdk.ECError;
import com.yuntongxun.ecsdk.ECInitParams;
import com.yuntongxun.ecsdk.SdkErrorCode;

import org.greenrobot.eventbus.EventBus;

/**
 * @author haoyuliu
 * @since 2018/4/19
 */
public class VoipUtils {
    /**
     * 登录VoIP
     * @param mContext
     */
    public static void login(Context mContext){
        //判断SDK是否已经初始化
        if(!ECDevice.isInitialized()) {
            ECDevice.initial(mContext, new ECDevice.InitListener() {
                @Override
                public void onInitialized() {
                    //设置登录回调监听\
                    loginVoip();
                }

                @Override
                public void onError(Exception e) {
                }
            });
        }else {
            loginVoip();
        }
    }
    private static void loginVoip(){
        ECDevice.setOnDeviceConnectListener(new ECDevice.OnECDeviceConnectListener() {
            public void onConnect() {
                //兼容旧版本的方法，不必处理
            }

            @Override
            public void onDisconnect(ECError error) {
                //兼容旧版本的方法，不必处理
            }

            @Override
            public void onConnectState(ECDevice.ECConnectState state, ECError error) {
                Log.e("11", state.toString() + error.errorCode);
                EventBus.getDefault().post(state);
            }
        });
        //创建登录参数对象
        ECInitParams params = ECInitParams.createParams();
        //设置用户登录账号
        params.setUserid(AppUtils.getMacAddress());
        //设置AppId
        params.setAppKey("8aaf0708624670f201626bfa5d140fbe");
        //设置AppToken
        params.setToken("f853ed5d8fd0d39cfc8935ef362aea3f");
        //设置登陆验证模式：自定义登录方式
        params.setAuthType(ECInitParams.LoginAuthType.NORMAL_AUTH);
        //LoginMode（强制上线：FORCE_LOGIN  默认登录：AUTO。使用方式详见注意事项）
        params.setMode(ECInitParams.LoginMode.FORCE_LOGIN);
        //验证参数是否正确
        if(params.validate()) {
            // 登录函数
            ECDevice.login(params);
            Logger.wtf("登录");
        }
    }
}
